// 非官网文档总结 参考https://www.bilibili.com/video/BV1TA4y1D7in
// 使用枚举可以定义一些带名字的常量，
// 使用枚举可以清晰的表达意图或创建一组有区别的用例
// TypeScript支持数字的和基于字符串的枚举。 
// 可混合使用但不推荐(会被后来者问候)
// 示例：
// enum Xy {
//     x = 1,
//     y = "2"
// }
// 数字枚举
// 数字枚举默认从0开始编号，依次递增
// 我们也可指定某一枚举case的特定值
var Direction;
(function (Direction) {
    Direction[Direction["Up"] = 0] = "Up";
    Direction[Direction["Down"] = 1] = "Down";
    Direction[Direction["Left"] = 4] = "Left";
    Direction[Direction["Right"] = 5] = "Right";
    Direction[Direction["LeftUp"] = 8] = "LeftUp";
    Direction[Direction["RightUp"] = 8] = "RightUp";
})(Direction || (Direction = {}));
// 获取枚举项
// 以对象获取属性方式得到 Direction.key 或 Direction["key"]
// console.log(Direction.Up, Direction["Down"])
// 以值去获取相应枚举项       注:仅支持数字枚举
// console.log(Direction[4])
// 当值相同时 则得到最后一个符合条件的枚举项
// console.log(Direction[8])
// 字符串枚举
var DangerLv;
(function (DangerLv) {
    DangerLv["one"] = "green";
    DangerLv["two"] = "blue";
    DangerLv["three"] = "orange";
    DangerLv["four"] = "ren";
})(DangerLv || (DangerLv = {}));
var one = DangerLv.one;
var two = DangerLv["two"];
// console.log(Color.Red)
